package vista;

import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;

import modelo.ProductoDTO;

public class vListarProducto extends JFrame {

	private static final long serialVersionUID = 1L;

	private Vector<ProductoDTO> productos;
	private JTable tabla;
	private JScrollPane barra;

	public vListarProducto(Vector<ProductoDTO> vec) {
		super();
		productos = vec;
		cargarVentana();
	}

	private void cargarVentana() {

		setSize(900, 400);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

		tabla = new JTable(new DefaultTableModel(new Object[] { "Codigo Prod",
				"Descripcion", "Tipo","Stock", "Precio Unitario" }, 0));
		cargarDatos();
		tabla.setEnabled(false);
		tabla.setBounds(getBounds());
		tabla.getColumnModel().getColumn(0).setPreferredWidth(50);
		DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
		rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT);
		DefaultTableCellRenderer leftRenderer = new DefaultTableCellRenderer();
		leftRenderer.setHorizontalAlignment(DefaultTableCellRenderer.LEFT);
		tabla.getColumnModel().getColumn(1).setCellRenderer(leftRenderer);
		tabla.getColumnModel().getColumn(1).setPreferredWidth(320);
		tabla.getColumnModel().getColumn(2).setCellRenderer(leftRenderer);
		tabla.getColumnModel().getColumn(2).setPreferredWidth(100);
		tabla.getColumnModel().getColumn(3).setCellRenderer(leftRenderer);
		tabla.getColumnModel().getColumn(3).setPreferredWidth(50);
		tabla.getColumnModel().getColumn(4).setCellRenderer(leftRenderer);
		tabla.getColumnModel().getColumn(4).setPreferredWidth(50);
		barra = new JScrollPane(tabla);
		barra.setBounds(getBounds());
		setContentPane(barra);
		setTitle("Productos");
		setResizable(false);
		setLocationRelativeTo(null);
	}

	private void cargarDatos() {
		DefaultTableModel modeloVista = (DefaultTableModel) tabla.getModel();

		for (int i = 0; i < productos.size(); i++) {
			modeloVista.addRow(new Object[] {
					String.valueOf(productos.elementAt(i).getCodProducto()),
					productos.elementAt(i).getDescripcion(),
					productos.elementAt(i).getTipoProd().getDescripcion(),
					productos.elementAt(i).getStock(),
					productos.elementAt(i).getPrecioUnitario() });
		}

	}
}
